package com.ruoyi.project.ledger.mapper;

import java.util.List;

import com.ruoyi.project.ledger.domain.LedgerManagementRegistration;
import com.ruoyi.project.ledger.domain.LedgerSafetyEducation;
import com.ruoyi.project.ledger.domain.LedgerWorker;
import org.springframework.stereotype.Repository;

/**
 * 安全教育活动台账Mapper接口
 *
 * @author gwc
 * @date 2020-04-14
 */
@Repository
public interface LedgerSafetyEducationMapper
{
    /**
     * 查询安全教育活动台账
     *
     * @param id 安全教育活动台账ID
     * @return 安全教育活动台账
     */
    public LedgerSafetyEducation selectLedgerSafetyEducationById(Long id);

    /**
     * 查询安全教育活动台账列表
     *
     * @param ledgerSafetyEducation 安全教育活动台账
     * @return 安全教育活动台账集合
     */
    public List<LedgerSafetyEducation> selectLedgerSafetyEducationList(LedgerSafetyEducation ledgerSafetyEducation);

    /**
     * 新增安全教育活动台账
     *
     * @param ledgerSafetyEducation 安全教育活动台账
     * @return 结果
     */
    public int insertLedgerSafetyEducation(LedgerSafetyEducation ledgerSafetyEducation);

    /**
     * 修改安全教育活动台账
     *
     * @param ledgerSafetyEducation 安全教育活动台账
     * @return 结果
     */
    public int updateLedgerSafetyEducation(LedgerSafetyEducation ledgerSafetyEducation);

    /**
     * 删除安全教育活动台账
     *
     * @param id 安全教育活动台账ID
     * @return 结果
     */
    public int deleteLedgerSafetyEducationById(Long id);

    /**
     * 批量删除安全教育活动台账
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteLedgerSafetyEducationByIds(Long[] ids);

    public List<LedgerWorker> selectNoAttendWorkerList(LedgerWorker ledgerWorker);

    public List<LedgerWorker> selectAttendWorkerList(LedgerWorker ledgerWorker);

    public int batchAddAttendWorker(List<LedgerWorker> ledgerWorkerList);

    public int deleteAttendWorker(Long id);

    public List<LedgerManagementRegistration> selectAttendees(LedgerManagementRegistration managementRegistration);

    public List<LedgerManagementRegistration> selectNoAttendees(LedgerManagementRegistration managementRegistration);
}
